package com.gljx.web.dao;

import com.gljx.web.Entity.SubjectThreeReg;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
public interface SubjectThreeRegMapper {
	int deleteByPrimaryKey(String fid);

	int insert(SubjectThreeReg record);

	int insertSelective(SubjectThreeReg record);

	SubjectThreeReg selectByPrimaryKey(String fid);

	int updateByPrimaryKeySelective(SubjectThreeReg record);

	int updateByPrimaryKey(SubjectThreeReg record);

	/**
	 * 查找最大编码
	 * @return
	 */
	String selectFnumber(String companyId);

	/**
	 * 根据业务日期查找科目三考试登记信息的单据
	 * @param fbizdate
	 * @param cfcartype
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeRegByfbizdate(@Param("companyid")String companyid,@Param("fbizdate") String fbizdate,@Param("cfcartype")String cfcartype);

	/**
	 * 统计查询科目三 报考人数 按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeSumEnterPersons(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 统计查询科目三  考试合格 不合格 缺考 人数 按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeResultPassExamRate(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 统计查询科目三 报考人数 按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeSumEnterPersonsByMonth(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 统计查询科目三  考试合格 不合格 缺考 人数 按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeResultPassExamRateByMonth(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	List<SubjectThreeReg> selectSubjectThreeReg(Map map);
}